#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <algorithm>

#define d true

using namespace std;

class Cafeteria{
	private:
		string name;
		Counter counter;
		MealFactory mealFactory;
		vector<string> getMealTypes();
		void constructMenu();
	public:
		Cafeteria(string n): name(n){}
		string getName();
		double getBill();

};

string Cafeteria::getName(){
	return this.name;
}

double Cafeteria::getBill(){
	counter = Counter.getInstance();
	return  counter.getBill();
}

vector<string> getMealTypes(){
	vector<Meal> meals = mealFactory.getMealTypes();
	vector<string> mealTypes;
	for(vector<Meal>::iterator it = meals.begin(), int i=0; it!=meals.end(); ++it, ++i){
		cout<<"\n"<<": "<<*it;
	}
}

